package com.jeesite.modules.task.arrange.entity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 任务部署信息表-整理任务Entity
 * @author zrr
 * @version 2022-03-07
 */
@Table(name="dc_sup_task_info_arrange", alias="a", label="任务部署信息表-整理任务信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="task_id", attrName="taskId", label="任务id"),
		@Column(name="arrange_content", attrName="arrangeContent", label="任务整理内容-最新进展情况"),
		@Column(name="arrange_content2", attrName="arrangeContent2", label="任务整理内容-存在问题"),
		@Column(name="arrange_content3", attrName="arrangeContent3", label="任务整理内容-拟采取的工作举措"),
		@Column(name="arrange_by", attrName="arrangeBy", label="任务整理人"),
		@Column(name="arrange_name", attrName="arrangeName", label="任务整理人姓名", queryType=QueryType.LIKE),
		@Column(name="arrange_time", attrName="arrangeTime", label="任务整理时间"),
		@Column(name="arrange_status", attrName="arrangeStatus", label="任务整理状态", comment="任务整理状态（0删除、1通过、2驳回）"),
		@Column(name="audit_option", attrName="auditOption", label="审核意见"),
		@Column(name="task_arrange_status", attrName="taskArrangeStatus", label="任务状态"),
		@Column(name="audit_flag", attrName="auditFlag", label="是否审核"),
	}, orderBy="a.arrange_time DESC"
)
public class DcSupTaskInfoArrange extends DataEntity<DcSupTaskInfoArrange> {
	
	private static final long serialVersionUID = 1L;
	 /**
	 * 任务id
	 */
	private String taskId;
	 /**
	 * 任务整理内容-最新进展情况
	 */
	private String arrangeContent;
	 /**
	 * 任务整理内容-存在问题
	 */
	private String arrangeContent2;
	 /**
	 * 任务整理内容-拟采取的工作举措
	 */
	private String arrangeContent3;
	 /**
	 * 任务整理人
	 */
	private String arrangeBy;
	 /**
	 * 任务整理人姓名
	 */
	private String arrangeName;
	 /**
	 * 任务整理时间
	 */
	private Date arrangeTime;
	 /**
	 * 任务整理状态（0删除、1提交、2通过、3驳回）
	 */
	private String arrangeStatus;

	private String auditOption;

	private String taskArrangeStatus;

	private String auditFlag;

	public String getAuditFlag() {
		return auditFlag;
	}

	public void setAuditFlag(String auditFlag) {
		this.auditFlag = auditFlag;
	}

	public String getTaskArrangeStatus() {
		return taskArrangeStatus;
	}

	public void setTaskArrangeStatus(String taskArrangeStatus) {
		this.taskArrangeStatus = taskArrangeStatus;
	}

	public String getAuditOption() {
		return auditOption;
	}

	public void setAuditOption(String auditOption) {
		this.auditOption = auditOption;
	}

	public DcSupTaskInfoArrange() {
		this(null);
	}

	public DcSupTaskInfoArrange(String id){
		super(id);
	}
	
	@NotBlank(message="任务id不能为空")
	@Size(min=0, max=64, message="任务id长度不能超过 64 个字符")
	public String getTaskId() {
		return taskId;
	}

	public void setTaskId(String taskId) {
		this.taskId = taskId;
	}
	
	@NotBlank(message="最新进展情况不能为空")
	public String getArrangeContent() {
		return arrangeContent;
	}

	public void setArrangeContent(String arrangeContent) {
		this.arrangeContent = arrangeContent;
	}

	public String getArrangeContent2() {
		return arrangeContent2;
	}

	public void setArrangeContent2(String arrangeContent2) {
		this.arrangeContent2 = arrangeContent2;
	}

	public String getArrangeContent3() {
		return arrangeContent3;
	}

	public void setArrangeContent3(String arrangeContent3) {
		this.arrangeContent3 = arrangeContent3;
	}

	@Size(min=0, max=64, message="任务整理人长度不能超过 64 个字符")
	public String getArrangeBy() {
		return arrangeBy;
	}

	public void setArrangeBy(String arrangeBy) {
		this.arrangeBy = arrangeBy;
	}
	
	@Size(min=0, max=64, message="任务整理人姓名长度不能超过 64 个字符")
	public String getArrangeName() {
		return arrangeName;
	}

	public void setArrangeName(String arrangeName) {
		this.arrangeName = arrangeName;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getArrangeTime() {
		return arrangeTime;
	}

	public void setArrangeTime(Date arrangeTime) {
		this.arrangeTime = arrangeTime;
	}
	
	@Size(min=0, max=10, message="任务整理状态长度不能超过 10 个字符")
	public String getArrangeStatus() {
		return arrangeStatus;
	}

	public void setArrangeStatus(String arrangeStatus) {
		this.arrangeStatus = arrangeStatus;
	}
	
}